home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ETO Development Tools 4
/
ETO Development Tools 4.iso
/
Tools - Objects
/
Macintosh Programmer’s Workshop
/
MPW 3.1
/
MPW
/
Interfaces
/
CIncludes
/
TextEdit.h
< prev
next >
Wrap
Text File
|
1990-12-13
|
8KB
|
266 lines
/************************************************************
Created: Tuesday, September 12, 1989 at 5:51 PM
TextEdit.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1989
All rights reserved
************************************************************/
#ifndef __TEXTEDIT__
#define __TEXTEDIT__
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#define teJustLeft 0
#define teJustCenter 1
#define teJustRight -1
#define teForceLeft -2
#define doFont 1 /* set font (family) number*/
#define doFace 2 /*set character style*/
#define doSize 4 /*set type size*/
#define doColor 8 /*set color*/
#define doAll 15 /*set all attributes*/
#define addSize 16 /*adjust type size*/
#define doToggle 32 /*toggle mode for TESetStyle & TEContinuousStyle*/
#define intEOLHook 0 /*TEIntHook value*/
#define intDrawHook 1 /*TEIntHook value*/
#define intWidthHook 2 /*TEIntHook value*/
#define intHitTestHook 3 /*TEIntHook value*/
typedef char Chars[32001];
typedef Chars *CharsPtr,**CharsHandle;
typedef short TEIntHook;
typedef pascal Boolean (*WordBreakProcPtr)(Ptr text, short charPos);
typedef pascal Boolean (*ClikLoopProcPtr)(void);
struct TERec {
Rect destRect;
Rect viewRect;
Rect selRect;
short lineHeight;
short fontAscent;
Point selPoint;
short selStart;
short selEnd;
short active;
WordBreakProcPtr wordBreak;
ClikLoopProcPtr clikLoop;
long clickTime;
short clickLoc;
long caretTime;
short caretState;
short just;
short teLength;
Handle hText;
short recalBack;
short recalLines;
short clikStuff;
short crOnly;
short txFont;
Style txFace; /*txFace is unpacked byte*/
char filler;
short txMode;
short txSize;
GrafPtr inPort;
ProcPtr highHook;
ProcPtr caretHook;
short nLines;
short lineStarts[16001];
};
typedef struct TERec TERec;
typedef TERec *TEPtr, **TEHandle;
struct StyleRun {
short startChar; /*starting character position*/
short styleIndex; /*index in style table*/
};
typedef struct StyleRun StyleRun;
struct STElement {
short stCount; /*number of runs in this style*/
short stHeight; /*line height*/
short stAscent; /*font ascent*/
short stFont; /*font (family) number*/
Style stFace; /*character Style*/
char filler; /*stFace is unpacked byte*/
short stSize; /*size in points*/
RGBColor stColor; /*absolute (RGB) color*/
};
typedef struct STElement STElement;
typedef STElement TEStyleTable[1777], *STPtr, **STHandle;
struct LHElement {
short lhHeight; /*maximum height in line*/
short lhAscent; /*maximum ascent in line*/
};
typedef struct LHElement LHElement;
typedef LHElement LHTable[8001], *LHPtr, **LHHandle; /* ARRAY [0..8000] OF LHElement */
struct ScrpSTElement {
long scrpStartChar; /*starting character position*/
short scrpHeight; /*starting character position*/
short scrpAscent;
short scrpFont;
Style scrpFace; /*unpacked byte*/
char filler; /*scrpFace is unpacked byte*/
short scrpSize;
RGBColor scrpColor;
};
typedef struct ScrpSTElement ScrpSTElement;
typedef ScrpSTElement ScrpSTTable[1601]; /* ARRAY [0..1600] OF ScrpSTElement */
struct StScrpRec {
short scrpNStyles; /*number of styles in scrap*/
ScrpSTTable scrpStyleTab; /*table of styles for scrap*/
};
typedef struct StScrpRec StScrpRec;
typedef StScrpRec *StScrpPtr, **StScrpHandle;
struct NullStRec {
long teReserved; /*reserved for future expansion*/
StScrpHandle nullScrap; /*handle to scrap style table*/
};
typedef struct NullStRec NullStRec;
typedef NullStRec *NullStPtr, **NullStHandle;
struct TEStyleRec {
short nRuns; /*number of style runs*/
short nStyles; /*size of style table*/
STHandle styleTab; /*handle to style table*/
LHHandle lhTab; /*handle to line-height table*/
long teRefCon; /*reserved for application use*/
NullStHandle nullStyle; /*Handle to style set at null selection*/
StyleRun runs[8001]; /*ARRAY [0..8000] OF StyleRun*/
};
typedef struct TEStyleRec TEStyleRec;
typedef TEStyleRec *TEStylePtr, **TEStyleHandle;
struct TextStyle {
short tsFont; /*font (family) number*/
Style tsFace; /*character Style*/
char filler; /*tsFace is unpacked byte*/
short tsSize; /*size in point*/
RGBColor tsColor; /*absolute (RGB) color*/
};
typedef struct TextStyle TextStyle;
typedef TextStyle *TextStylePtr, **TextStyleHandle;
#ifdef __cplusplus
extern "C" {
#endif
pascal void TEInit(void)
= 0xA9CC;
pascal TEHandle TENew(const Rect *destRect,const Rect *viewRect)
= 0xA9D2;
pascal void TEDispose(TEHandle hTE)
= 0xA9CD;
pascal void TESetText(Ptr text,long length,TEHandle hTE)
= 0xA9CF;
pascal CharsHandle TEGetText(TEHandle hTE)
= 0xA9CB;
pascal void TEIdle(TEHandle hTE)
= 0xA9DA;
pascal void TESetSelect(long selStart,long selEnd,TEHandle hTE)
= 0xA9D1;
pascal void TEActivate(TEHandle hTE)
= 0xA9D8;
pascal void TEDeactivate(TEHandle hTE)
= 0xA9D9;
pascal void TEKey(short key,TEHandle hTE)
= 0xA9DC;
pascal void TECut(TEHandle hTE)
= 0xA9D6;
pascal void TECopy(TEHandle hTE)
= 0xA9D5;
pascal void TEPaste(TEHandle hTE)
= 0xA9DB;
pascal void TEDelete(TEHandle hTE)
= 0xA9D7;
pascal void TEInsert(Ptr text,long length,TEHandle hTE)
= 0xA9DE;
pascal void TESetJust(short just,TEHandle hTE)
= 0xA9DF;
pascal void TEUpdate(const Rect *rUpdate,TEHandle hTE)
= 0xA9D3;
pascal void TextBox(Ptr text,long length,const Rect *box,short just)
= 0xA9CE;
pascal void TEScroll(short dh,short dv,TEHandle hTE)
= 0xA9DD;
pascal void TESelView(TEHandle hTE)
= 0xA811;
pascal void TEPinScroll(short dh,short dv,TEHandle hTE)
= 0xA812;
pascal void TEAutoView(Boolean fAuto,TEHandle hTE)
= 0xA813;
pascal Handle TEScrapHandle(void)
= {0x2EB8,0x0AB4};
pascal void TECalText(TEHandle hTE)
= 0xA9D0;
pascal short TEGetOffset(Point pt,TEHandle hTE)
= 0xA83C;
pascal struct Point TEGetPoint(short offset,TEHandle hTE)
= {0x3F3C,0x0008,0xA83D};
pascal void TEClick(Point pt,Boolean fExtend,TEHandle h)
= 0xA9D4;
pascal TEHandle TEStylNew(const Rect *destRect,const Rect *viewRect)
= 0xA83E;
pascal void SetStylHandle(TEStyleHandle theHandle,TEHandle hTE)
= {0x3F3C,0x0005,0xA83D};
pascal TEStyleHandle GetStylHandle(TEHandle hTE)
= {0x3F3C,0x0004,0xA83D};
pascal void TEGetStyle(short offset,TextStyle *theStyle,short *lineHeight,
short *fontAscent,TEHandle hTE)
= {0x3F3C,0x0003,0xA83D};
pascal void TEStylPaste(TEHandle hTE)
= {0x3F3C,0x0000,0xA83D};
pascal void TESetStyle(short mode,const TextStyle *newStyle,Boolean redraw,
TEHandle hTE)
= {0x3F3C,0x0001,0xA83D};
pascal void TEReplaceStyle(short mode,const TextStyle *oldStyle,const TextStyle *newStyle,
Boolean redraw,TEHandle hTE)
= {0x3F3C,0x0002,0xA83D};
pascal StScrpHandle GetStylScrap(TEHandle hTE)
= {0x3F3C,0x0006,0xA83D};
pascal void TEStylInsert(Ptr text,long length,StScrpHandle hST,TEHandle hTE)
= {0x3F3C,0x0007,0xA83D};
pascal long TEGetHeight(long endLine,long startLine,TEHandle hTE)
= {0x3F3C,0x0009,0xA83D};
pascal Boolean TEContinuousStyle(short *mode,TextStyle *aStyle,TEHandle hTE)
= {0x3F3C,0x000A,0xA83D};
pascal void SetStylScrap(long rangeStart,long rangeEnd,StScrpHandle newStyles,
Boolean redraw,TEHandle hTE)
= {0x3F3C,0x000B,0xA83D};
pascal void TECustomHook(TEIntHook which,ProcPtr *addr,TEHandle hTE)
= {0x3F3C,0x000C,0xA83D};
pascal long TENumStyles(long rangeStart,long rangeEnd,TEHandle hTE)
= {0x3F3C,0x000D,0xA83D};
pascal long TEGetScrapLen(void);
pascal void TESetScrapLen(long length);
pascal OSErr TEFromScrap(void);
pascal OSErr TEToScrap(void);
pascal void SetClikLoop(ClikLoopProcPtr clikProc,TEHandle hTE);
pascal void SetWordBreak(WordBreakProcPtr wBrkProc,TEHandle hTE);
void teclick(Point *pt,Boolean fExtend,TEHandle h);
#ifdef __cplusplus
}
#endif
#endif